#装饰器
#闭包：装饰器函数+被装饰器函数，组成的闭包

def deco(func):
    print("before myfunc() called")
    func()
    print("after myfunc() called")
    return func
@deco #等价于编译成：myfunc=deco(myfunc)
def myfunc():
    print("myfunc() called")


myfunc()
myfunc()


#总结：
#函数返回的是个函数名字，不带括号，表示返回的是函数对象
#函数返回的是个函数名字，括号，表示返回的是函数执行结果


